home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / idlelib / ToolTip.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  4KB  |  104 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. from Tkinter import *
  5.  
  6. class ToolTipBase:
  7.     
  8.     def __init__(self, button):
  9.         self.button = button
  10.         self.tipwindow = None
  11.         self.id = None
  12.         self.x = self.y = 0
  13.         self._id1 = self.button.bind('<Enter>', self.enter)
  14.         self._id2 = self.button.bind('<Leave>', self.leave)
  15.         self._id3 = self.button.bind('<ButtonPress>', self.leave)
  16.  
  17.     
  18.     def enter(self, event = None):
  19.         self.schedule()
  20.  
  21.     
  22.     def leave(self, event = None):
  23.         self.unschedule()
  24.         self.hidetip()
  25.  
  26.     
  27.     def schedule(self):
  28.         self.unschedule()
  29.         self.id = self.button.after(1500, self.showtip)
  30.  
  31.     
  32.     def unschedule(self):
  33.         id = self.id
  34.         self.id = None
  35.         if id:
  36.             self.button.after_cancel(id)
  37.         
  38.  
  39.     
  40.     def showtip(self):
  41.         if self.tipwindow:
  42.             return None
  43.         
  44.         x = self.button.winfo_rootx() + 20
  45.         y = self.button.winfo_rooty() + self.button.winfo_height() + 1
  46.         self.tipwindow = tw = Toplevel(self.button)
  47.         tw.wm_overrideredirect(1)
  48.         tw.wm_geometry('+%d+%d' % (x, y))
  49.         self.showcontents()
  50.  
  51.     
  52.     def showcontents(self, text = 'Your text here'):
  53.         label = Label(self.tipwindow, text = text, justify = LEFT, background = '#ffffe0', relief = SOLID, borderwidth = 1)
  54.         label.pack()
  55.  
  56.     
  57.     def hidetip(self):
  58.         tw = self.tipwindow
  59.         self.tipwindow = None
  60.         if tw:
  61.             tw.destroy()
  62.         
  63.  
  64.  
  65.  
  66. class ToolTip(ToolTipBase):
  67.     
  68.     def __init__(self, button, text):
  69.         ToolTipBase.__init__(self, button)
  70.         self.text = text
  71.  
  72.     
  73.     def showcontents(self):
  74.         ToolTipBase.showcontents(self, self.text)
  75.  
  76.  
  77.  
  78. class ListboxToolTip(ToolTipBase):
  79.     
  80.     def __init__(self, button, items):
  81.         ToolTipBase.__init__(self, button)
  82.         self.items = items
  83.  
  84.     
  85.     def showcontents(self):
  86.         listbox = Listbox(self.tipwindow, background = '#ffffe0')
  87.         listbox.pack()
  88.         for item in self.items:
  89.             listbox.insert(END, item)
  90.         
  91.  
  92.  
  93.  
  94. def main():
  95.     root = Tk()
  96.     b = Button(root, text = 'Hello', command = root.destroy)
  97.     b.pack()
  98.     root.update()
  99.     tip = ListboxToolTip(b, [
  100.         'Hello',
  101.         'world'])
  102.  
  103. main()
  104.